草庐IT

ios - 添加单元测试时 Mach-O 链接器错误 - XCode

全部标签

ruby-on-rails - 你如何编写一个只为测试文件执行一次的设置方法?

我希望有一种方法可以针对每个文件运行一次,而不是针对每个测试运行一次。我已经看到一些对“之前”方法的引用,但似乎不适用于MiniTest。理想情况下,像这样:classMyTest 最佳答案 Before用于minitest使用specdsl时,相当于setup。您可以使用setup,如果您在test_helper.rb文件中使用setup,它将在所有测试之前执行一次。设置也可以在测试类中声明。使用设置,放置一个标志并在第一次更新标志。x=0setupdoifx==0x=x+1puts"Incrementedinx=#{x}"end

ruby - 如何使用 ruby​​ fibers 避免阻塞 IO

我需要将目录中的一堆文件上传到S3。由于上传所需的90%以上的时间都花在了等待http请求完成上,所以我想以某种方式同时执行其中的几个。Fibers能帮我解决这个问题吗?它们被描述为解决此类问题的一种方法,但我想不出在http调用阻塞时我可以做任何工作的任何方法。有什么方法可以在没有线程的情况下解决这个问题? 最佳答案 我没有使用1.9中的纤程,但是1.8.6中的常规线程可以解决这个问题。尝试使用队列http://ruby-doc.org/stdlib/libdoc/thread/rdoc/classes/Queue.html查看文

ruby - 如何从 ruby​​ 中的 IO 对象获取文件名

在ruby中...我有一个由外部进程创建的IO对象,我需要从中获取文件名。然而我似乎只能得到文件描述符(3),这对我来说不是很有用。有没有办法从此对象获取文件名甚至获取文件对象?我正在从通知程序中获取IO对象。所以这也可能是获取文件路径的一种方式? 最佳答案 关于howtogetathefilenameinC也有类似的问题,我将在这里以ruby​​的方式给出这个问题的答案。在Linux中获取文件名假设io是您的IO对象。以下代码为您提供了文件名。File.readlink("/proc/self/fd/#{io.fileno}")例

Ruby 添加一个日历月

我是ruby​​新手,对某些日期函数有疑问。我正在尝试将日历月添加到提供的日期,以便“2002年4月30日”输出“2002年5月31日”。这是我的代码date='30thApr2002'parseDate=Date.parse(date)(parseDate>>1)#Thisreturns2002-05-30也许这不是该函数应有的工作方式,在这种情况下,如果提供的日期是该月的最后一天,我将需要编写一些代码来返回下个月的最后一天?如有任何帮助,我们将不胜感激。 最佳答案 >>只是增加月份并在月份内保持同一天,正如Skeet在评论中指出

ruby - 编译 Ruby 内联 C 代码 - 解决错误

我正在尝试获取此Ruby内联C代码http://pastie.org/2825882上类。该代码在vanillaC中运行,但在这里我收到错误和警告。是什么导致了这个错误?./backtrack_inline.rb:67:error:lvaluerequiredasunary'&'operand另外,为什么会出现以下错误?./backtrack_inline.rb:73:error:toofewargumentstofunction'backtrack'检查生成的C代码(http://pastie.org/2826036)我没有发现参数有任何问题。但我也收到以下警告:./backtrac

ruby-on-rails - Ruby on Rails 3: Devise::LdapAdapter.get_ldap_param 未定义方法错误

我正在运行:ruby1.9.3p0,rails3.1.1,设计1.4.9,Devise_ldap_authenticatable0.4.10我正在使用Devise通过ldap服务器验证我的Rails应用程序。我使用用户名而不是电子邮件进行身份验证,所以我表中的电子邮件字段自然是空白的。在ldap中查询email,官方的做法是在用户模型中加入这段代码:before_save:get_ldap_emaildefget_ldap_emailself.email=Devise::LdapAdapter.get_ldap_param(self.username,"mail")end这段代码失败了

ruby - 将 SSL 添加到连接

当您需要首先通过明文进行通信时,如何在Ruby中使用SSL保护套接字?我不能使用OpenSSL::SSL::SSLServer因为首先请求SSL连接是客户端的责任长话短说,我正在尝试实现RFC3207,其中客户端发送关键字“STARTTLS”,然后创建SSL连接。我的问题是“服务器发送‘220OK’后如何创建SSL连接?”我知道我可以使用OpenSSL::SSL::SSLSocket在客户端,但我不知道在服务器端该做什么如果你知道如何用Ruby以外的语言来做到这一点,只需发布​​代码,我会翻译它,我已经为此工作了大约8个小时,我需要我能得到的一切我在#ruby-lang中询问过,但无济

ruby-on-rails - 使用 Rails 编写 RSpec 测试时,spec/requests 文件夹和 spec/controllers 应该放什么?

我对Rails还很陌生,并试图通过从一开始就实现测试来以“正确”的方式做事。昨天我使用脚手架生成器创建了我的第一个模型/View/Controller配置。虽然有人告诉我您真的不应该使用脚手架,但它很有用,因为我可以了解Rails代码的结构。我注意到的一件事是,自动生成的RSpec大部分放在spec/controllers文件夹中。然而当我看到thisepisodeofRailscasts,我注意到他用了railsgenerateintegration_test[test_name]将单个测试文件放入spec/requests文件夹的命令。然而,他编写的所有测试都与Controller

ruby-on-rails - 无方法错误 : undefined method `get' when running rspec and making get/visit calls

我完全被困在这里,希望有人能指出我正确的方向。我正在尝试使用rspec来测试我的网络路由。我按照这里的例子:https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec我的规范文件被命名为:spec/requests文件夹中的api_tests_spec.rb。文件如下:require'spec_helper'describe"APITests"dodescribe"GET/regions"doit"shouldreturnavalidresponse"do#Runthegeneratoragai

ruby-on-rails - 子域 + ActionView::Template::Error(缺少要链接的主机!)

我已经解决了标题中描述的错误的众多解决方案。ActionView::Template::Error(缺少要链接的主机!请提供:host参数,设置default_url_options[:host],或将:only_path设置为true):但是,该项目还修改了url_for函数以使用子域,如本railscast所示:http://railscasts.com/episodes/221-subdomains-in-rails-3因此,这个错误的传统答案,例如在我的环境设置中设置变量似乎不是解决方案。这里有一些其他的提示:这是一个全新的设置,我刚刚克隆了一个项目并安装了ruby​​、rai